import Common from '@/common/common'
import Vue from 'vue';
/**
 * 响应拦截
 * @param {Object} http 
 */
module.exports = (vm) => {
	uni.$u.http.interceptors.response.use((response) => {
		/* 对响应成功做点什么 可使用async await 做异步操作*/
		const res = response.data
		// 自定义参数
		const custom = response.config?.custom
		// if (res.code !== 1) {
		// 如果没有显式定义custom的toast参数为false的话，默认对报错进行toast弹出提示
		// }
		if (res.code !== 200) {
			console.log('11111111111111111111111',res);
			// uni.$u.toast(res.message)
		}
		return res || {}
	}, (error) => {
		/*  对响应错误做点什么 （statusCode !== 200）*/
		let message = ''
		if (error && error.data?.msg) {
			message = error.data.msg
		} else {
			switch (error.statusCode) {
				case 400:
					message = '请求错误';
					break;
				case 401:
					message = '未授权，请登录';
					break;
				case 403:
					message = '拒绝访问';
					break;
				case 404:
					message = `请求地址出错`;
					break;
				case 408:
					message = '请求超时';
					break;
				case 500:
					message = '服务器内部错误';
					break;
				case 501:
					message = '服务未实现';
					break;
				case 502:
					message = '网关错误';
					break;
				case 503:
					message = '服务不可用';
					break;
				case 504:
					message = '网关超时';
					break;
				case 505:
					message = 'HTTP版本不受支持';
					break;
				default:
					message = '请求错误，请重试！';
					break;
			}
		}
		// uni.$u.toast(message)
		if (error.statusCode == 500) {
			vm.$store.state.token = ''
			vm.$store.state.uid = ''
			vm.$store.state.hasLogin = ''
			uni.reLaunch({
				url: '/pages/login/login'
			})
		}
		return Promise.reject(error)
	})
}